System administration tools are well known; they typically alert an administrator upon detecting a problem in a system. However, current tools have some shortcomings. For example, when a fault can be very easily fixed (e.g. by re-starting a process), alerting an administrator to come out and apply a fix can be a waste of the administrator's time. Furthermore, alerting the most appropriate administrator (e.g., an administrator that can best deal with a particular fault) is difficult, and alerting an administrator who is unfamiliar with a fault can result in a longer period of time before a fix is applied, and, in the worst case, result in even more faults with the system.
Furthermore, a system administrator has hands-on knowledge that can be specialized, especially if the system has a non-standard configuration, which knowledge is not easy to transfer to others. One solution to this problem is the creation of a knowledge base that stores details of faults and associated fixes. Some tools also allow a user to broadcast a message containing details of a problem to a community, so that members of the community can respond to the user with suggested fixes.
However, both of these solutions are typically directed towards common faults rather than complex faults on specialized systems (e.g. servers that have been configured in a certain way). Furthermore, a knowledge base can become outdated, and the quality of the information in it can vary depending on how it is captured (e.g. how often it is captured, how it is recorded in the knowledge base, and the like).
The currently available system administration tools for monitoring machines fall into two categories, namely, host based tools and remotely based tools. With a host based tool, program code that performs monitoring, altering, and the like must be installed onto all host machines. Installation can be difficult if there are several host machines. Moreover, host-based monitors rely on a solid installation of the code; consequently, if the machine becomes corrupted in some way, the monitor can be damaged. Typically, the program code is also difficult to port, because program code that has been written to perform functions in one environment will often not function reliably in other environments.
Remote based tools are advantageous in that they need not be installed locally at each host machine and can be run remotely at a separate server. However, these tools simply report faults, details of which are then displayed on a screen. To view the details, an administrator must be present at the screen.